function RemoveKDigits() {}

RemoveKDigits.removeKDigits = function(num, k) {
    //新整数的最终长度 = 原整数长度 - k
    var newLength = num.length - k;
    //创建一个栈，用于接收所有的数字
    var stack = new Array(num.length);
    var top = 0;
    for (var i = 0; i < num.length; ++i) {
        //遍历当前数字
        var c = num[i];
        //当栈顶数字大于遍历到的当前数字，栈顶数字出栈（相当于删除数字）
        while (top > 0 && stack[top-1] > c && k > 0) {
            top -= 1;
            k -= 1;
        }
        //如果遇到数字0，且栈为空，0不入栈
        if('0' == c && top == 0){
            newLength--;
            if(newLength <= 0){
                return "0";
            }
            continue;
        }
        //遍历到的当前数字入栈
        stack[top++] = c;
    }
    // 用栈构建新的整数字符串
    return newLength<=0 ? "0" : stack.slice(0, newLength).join('');
};
 
console.log(RemoveKDigits.removeKDigits("1593212", 3));
console.log(RemoveKDigits.removeKDigits("30200", 1));
console.log(RemoveKDigits.removeKDigits("10", 2));
console.log(RemoveKDigits.removeKDigits("541270936", 3));
console.log(RemoveKDigits.removeKDigits("1593212", 4));
console.log(RemoveKDigits.removeKDigits("1000020000000010", 2));